/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.alevsk.antwars;

import java.awt.Point;
import java.io.*;
import java.net.*;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.concurrent.Semaphore;



class socketshormigas {

    static final int PUERTO = 5000;
    int maxCli=0;
    int numCli = 0;
    int turno = 0;
    int remfood = 100;//variable dummy, debe ser remplazada por el valor real de comida actual
    Semaphore sem;
    ServerSocket skServidor;
    Socket skCliente;
    ArrayList Player_list;
    Mapa mapa;

    public socketshormigas(Mapa m) {
        mapa = m;
        sem = new Semaphore(1);
        //esto es cuando se cargue el mapa
        //maxCli = m.maxJugadores(); //para propositos de prueba esto no esta habilitado
        //por propositos de prueba se usa solo un cliente
        //la comida restante se define al principio por la clase mapa
        //remfood = m.getTotalFood();
        maxCli = 2;
        Player_list = new ArrayList();
        
        
        
        this.start();
    }
    
    public void start(){
        try{
            skServidor = new ServerSocket(PUERTO);
            System.out.println("Escucho el puerto " + PUERTO);
            for (numCli = 0; numCli < maxCli; numCli++) {
                skCliente = skServidor.accept(); // Crea objeto
                ServerDispatcher dispatcher = new ServerDispatcher(numCli, sem,skCliente, this);
                Thread t = new Thread(dispatcher);
                System.out.println("Arranca el servidor para el cliente "+numCli);
                
                t.start();
            }
            System.out.println("Demasiados clientes por hoy");
        }catch(IOException e){
            System.out.println(e.getMessage());
        }
    }
    
    public void resolver(){//aqui va la logica del server
    }

    public static void main(String[] arg) throws IOException {
        File f = new File("mapa.txt");
        new socketshormigas(new Mapa(f.getAbsolutePath()));//esta en null con propositos de prueba
    }
}